A typical user of electronic devices can access a plethora of information (such as information available on the various resources hosted on various servers and accessible via Internet or via other communication means). Some of the information so accessed includes various images. Various images may include captured photos, various generated images, as well as spatial data (such like maps, plans and the like), as well as videos and 3D games.
Some of the images can be quite large (such as maps, for example). It is also customary to store such image data on a server and download it to a client device, upon request. For example, the image data can be downloaded to the client device in response to a user of the client device requesting an image view associated with a portion or an entirety of the images (for example, by loading an application, by loading a browser and accessing a resource associated with the image or the like).
Some of the files containing image data can be so large that it may be impractical to apriori download the entirety of the image data file to the client device. For example, this may put an unnecessary strain on the communication network that the client device is connected to for accessing the resource associated with the image data. One can appreciate that in case of the client device being a wireless communication device coupled to a wireless communication network in a remote location, the problem can be also further exacerbated by slow or otherwise inadequate network speed or throughput. This can also be impractical due to the local memory limitations (for example, when the image needs to be stored in the client device cache for rendering thereof and the client device cache has capacity limitations).
This problem is particularly dire in cases where image data is associated with a map. Since a typical user typically requests a particular view of the map (called “viewport”) at a particular zoom level—there is no practical reason (and, actually, may be even impossible) to download the entirety of the map data representing an entire world view. Hence, it is a common solution to download image data associated with a map (or any other type of image information) split in so-called “map tiles” or simply “tiles”. Each map tile typically represents a portion of the map image at a particular zoom level. A sub-set of map tiles is downloaded to the client device (based on the requested viewport and the zoom level), which sub-set of map tiles is then rendered and displayed on an output device associated with the client device.
It is also typical for the user of the client device to request the map view at a different zoom levels—so called zooming-in and zooming-out. To see a particular portion of the map in more details, the user may need to zoom in—in order to see a smaller fragment of the map in more details (and/or at a higher resolution). As a result of such action of the user, the client device requests form the server and the server transmits to the client device a replacement set of map tiles (for the new viewport/the new zoom level) for rendering the new requested map view (to replace the originally-rendered and displayed map view). To see a particular portion of the map in smaller detail (but cover a larger area), the user may need to zoom out—in order to see a larger fragment of the map albeit with fewer details (and/or at a higher resolution). As a result of such action of the user, the client device requests form the server and the server transmits to the client device a replacement set of map tiles (for the new viewport/the new zoom level) for rendering the new requested map view (to replace the originally-rendered and displayed map view).
US patent application 2011/0055290 discloses system for provisioning a geographical image for retrieval, comprising: an application server operating to receive a query for a geographical region in a geographical area of coverage; and a database server operating to store a plurality of geo-image tiles that cover the geographical area of coverage at different zoom levels, the database server is coupled to the application server to receive the query from the application server and return one or more of the plurality of geo-image tiles to illustrate the geographical region requested in the query; wherein the plurality of geo-image tiles are partitioned for storage in the database server in accordance with a database management system (DBMS) scheme and indexed or retrieval with a non-spatial index.
U.S. Pat. No. 8,352,480 teaches an apparatus for converting geographical geometrical content of a geographical database to map tiles may include a processor and a memory storing executable computer code that cause the apparatus to at least perform operations including modifying a geographical database based in part on adding items of data arranged in fields based on analyzing values corresponding to geometry information. The geometry information is associated with records of the geographical database. The computer program code may further cause the apparatus to determine a set of tiles at a predetermined zoom level including geographical information of respective records and may update the records to include data associated with minimum and maximum x and y values of the tiles. The computer program code may further cause the apparatus to determine minimum and maximum x and y values that define a rectangular block(s) of map tiles. Corresponding computer program products and methods are also provided.
US Patent application 2015/0279071 discloses a computerized method of managing a collaboration space. The disclosed method comprises partitioning the collaboration space into a plurality of tiles in a tree structure; and associating each graphic object with a tile in the tree structure; the tile being the smallest tile in the tree structure that substantially accommodate the graphic object.